﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using DTO;
using BUS;
namespace CDT_CSDLNC
{
    public partial class frmMain : Form
    {
        public frmMain()
        {
            InitializeComponent();
        }

        public ucDangNhap ucdangnhap = new ucDangNhap();
        public ucDanhSachSanPham ucdssp = new ucDanhSachSanPham();
        public ucChiTietSanPham ucctsp = new ucChiTietSanPham();
        public ucXacNhanNguoiMua ucxnnm = new ucXacNhanNguoiMua();
        public ucXacNhanHangMua ucxnhm = new ucXacNhanHangMua();
        public ucChonThanhToan uctt = new ucChonThanhToan();
        public ucXacNhanMacCa ucxnmc = new ucXacNhanMacCa();
        public ucDangSanPham ucdsp = new ucDangSanPham();
        public ucCacHinhThuc uccht = new ucCacHinhThuc();
        public ucChuyenTien ucct = new ucChuyenTien();
        public ucXacNhanChuyenTien ucxnct = new ucXacNhanChuyenTien();
        public ucThongTinGiaoDich ucttgd = new ucThongTinGiaoDich();
        public int kb1_buoc = 1;
        public int kb2_buoc = 1;
        public int kb3_buoc = 1;
        public int kb4_buoc = 1;

        //flag để kiểm tra xem đang ở kịch bản nào
        public int flag = -1;
        private void mnuKichBan1_Click(object sender, EventArgs e)
        {
            flag = 1;
            kb2_buoc = kb3_buoc = kb4_buoc = 1;
            pnMain.Controls.Clear();
            pnMain.Controls.Add(ucdangnhap);
            pnFooter.Visible = true;
            lbBuoc.Text = "Bước 1: đăng nhập thông tin khách hàng";
            kb1_buoc++;
        }

        private void mnuKichBan2_Click(object sender, EventArgs e)
        {
            flag = 2;
            kb1_buoc = kb3_buoc = kb4_buoc = 1;
            pnMain.Controls.Clear();
            pnMain.Controls.Add(ucdangnhap);
            pnFooter.Visible = true;
            lbBuoc.Text = "Bước 1: đăng nhập thông tin khách hàng";
            kb2_buoc++;
        }

        private void mnuKichBan3_Click(object sender, EventArgs e)
        {
            flag = 3;
            kb2_buoc = kb1_buoc = kb4_buoc = 1;
            pnMain.Controls.Clear();
            pnMain.Controls.Add(ucdangnhap);
            pnFooter.Visible = true;
            lbBuoc.Text = "Bước 1: đăng nhập thông tin khách hàng";
            kb3_buoc++;
        }

        private void mnuKichBan4_Click(object sender, EventArgs e)
        {
            flag = 4;
            kb2_buoc = kb3_buoc = kb1_buoc = 1;
            pnMain.Controls.Clear();
            pnMain.Controls.Add(ucdangnhap);
            pnFooter.Visible = true;
            lbBuoc.Text = "Bước 1: đăng nhập thông tin khách hàng";
            kb4_buoc++;
        }

        private void btnBuoc_Click(object sender, EventArgs e)
        {
            if (kb1_buoc > 1)
            {
                KichBan1();
            }
            else if (kb2_buoc > 1)
            {
                KichBan2();
            }
            else if (kb3_buoc > 1)
            {
                KichBan3();
            }
            else if (kb4_buoc > 1)
            {
                KichBan4();
            }
        }

        public void KichBan1()
        {
            switch (kb1_buoc)
            {
                case 2:
                    ucdssp = new ucDanhSachSanPham();
                    lbHoTen.Text = ucdangnhap.hoTen;
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(ucdssp);
                    lbBuoc.Text = "Bước 2: xem danh sách sản phẩm và chọn sản phẩm cần mua";
                    kb1_buoc++;
                    break;
                case 3:
                    ucctsp = new ucChiTietSanPham();
                    ucctsp.maTinBan = ucdssp.maTinBan;
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(ucctsp);
                    lbBuoc.Text = "Bước 3: hiển thị thông tin chi tiết của sản phẩm cần mua, nhập số lương mua và thực hiện đặt mua";
                    kb1_buoc++;
                    break;
                case 4:
                    ucxnnm = new ucXacNhanNguoiMua();
                    ucxnnm.maKhachHang = ucdangnhap.maKhachHang;
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(ucxnnm);
                    lbBuoc.Text = "Bước 4: xác nhận thông tin người mua, thông tin người nhận hàng";
                    kb1_buoc++;
                    break;
                case 5:
                    ucxnhm = new ucXacNhanHangMua();
                    ucxnhm.maTinBan = ucdssp.maTinBan;
                    ucxnhm.maTaiKhoanMua = ucdangnhap.maKhachHang;
                    ucxnhm.soLuongMua = ucctsp.soLuongMua;
                    ucxnhm.donGia = ucctsp.donGia;
                    ucxnhm.tenSanPham = ucctsp.tenSanPham;
                    ucxnhm.phiVanChuyen = ucctsp.phiVanChuyen;
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(ucxnhm);
                    lbBuoc.Text = "Bước 5: xác nhận các sản phẩm muốn mua";
                    kb1_buoc++;
                    break;
                case 6:
                    uctt = new ucChonThanhToan();
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(uctt);
                    lbBuoc.Text = "Bước 6: chon hình thức thanh toán";
                    kb1_buoc++;
                    break;
                default:
                    kb1_buoc = 1;
                    pnMain.Controls.Clear();
                    pnFooter.Visible = false;
                    break;
            }
        }

        public void KichBan2()
        {
            switch (kb2_buoc)
            {
                case 2:
                    ucdssp = new ucDanhSachSanPham();
                    lbHoTen.Text = ucdangnhap.hoTen;
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(ucdssp);
                    lbBuoc.Text = "Bước 2: xem danh sách sản phẩm và chọn sản phẩm cần mua";
                    kb2_buoc++;
                    break;
                case 3:
                    ucctsp = new ucChiTietSanPham();
                    ucctsp.maTinBan = ucdssp.maTinBan;
                    ucctsp.hoten = lbHoTen.Text;
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(ucctsp);
                    lbBuoc.Text = "Bước 3: hiển thị thông tin chi tiết của sản phẩm cần mua, chọn mặc cả sản phẩm";
                    kb2_buoc++;
                    break;
                case 4:
                    ucxnmc = new ucXacNhanMacCa();
                    ucxnmc.matinban = ucctsp.maTinBan;
                    ucxnmc.manguoimua = ucdangnhap.maKhachHang;
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(ucxnmc);
                    lbBuoc.Text = "Bước 4: xác nhận thông tin mặc cả sản phẩm";
                    kb2_buoc++;
                    break;
                case 5:
                    ucxnnm = new ucXacNhanNguoiMua();
                    ucxnnm.maKhachHang = ucdangnhap.maKhachHang;
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(ucxnnm);
                    lbBuoc.Text = "Bước 5: xác nhận thông tin người mua, thông tin người nhận hàng";
                    kb2_buoc++;
                    break;
                case 6:
                    ucxnhm = new ucXacNhanHangMua();
                    ucxnhm.maTinBan = ucdssp.maTinBan;
                    ucxnhm.maTaiKhoanMua = ucdangnhap.maKhachHang;
                    ucxnhm.soLuongMua = ucxnmc.soluongmua;
                    ucxnhm.donGia = ucxnmc.giamacca;
                    ucxnhm.tenSanPham = ucctsp.tenSanPham;
                    ucxnhm.phiVanChuyen = ucctsp.phiVanChuyen;
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(ucxnhm);
                    lbBuoc.Text = "Bước 6: xác nhận các sản phẩm muốn mua";
                    kb2_buoc++;
                    break;
                case 7:
                    uctt = new ucChonThanhToan();
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(uctt);
                    lbBuoc.Text = "Bước 7: chon hình thức thanh toán";
                    kb2_buoc++;
                    break;
                default:
                    kb2_buoc = 1;
                    pnMain.Controls.Clear();
                    pnFooter.Visible = false;
                    break;
            }
        }

        public void KichBan3()
        {
            switch (kb3_buoc)
            {
                case 2:
                    ucdsp = new ucDangSanPham();
                    lbHoTen.Text = ucdangnhap.hoTen;
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(ucdsp);
                    lbBuoc.Text = "Bước 2: đăng sản phầm cần bán";
                    kb3_buoc++;
                    break;
                case 3:
                    uccht = new ucCacHinhThuc();
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(uccht);
                    lbBuoc.Text = "Bước 3: chọn các hình thức bán";
                    kb3_buoc++;
                    break;
                default:
                    kb3_buoc = 1;
                    pnMain.Controls.Clear();
                    pnFooter.Visible = false;
                    break;
            }
        }

        public void KichBan4()
        {
            switch (kb4_buoc)
            {
                case 2:
                    ucct = new ucChuyenTien();
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(ucct);
                    lbBuoc.Text = "Bước 2: nhập tài khoản ngân lương";
                    kb4_buoc++;
                    break;
                case 3:
                    ucxnct = new ucXacNhanChuyenTien();
                    ucxnct.tk = ucct.tk;
                    ucxnct.makhachhang = ucdangnhap.maKhachHang;
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(ucxnct);
                    lbBuoc.Text = "Bước 3: thực hiện chuyển tiền";
                    kb4_buoc++;
                    break;
                case 4:
                    ucttgd = new ucThongTinGiaoDich();
                    ucttgd.makhachhang = ucdangnhap.maKhachHang;
                    pnMain.Controls.Clear();
                    pnMain.Controls.Add(ucttgd);
                    lbBuoc.Text = "Bước 4: kiểm tra thông tin chuyển tiền";
                    kb4_buoc++;
                    break;
                default:
                    kb4_buoc = 1;
                    pnMain.Controls.Clear();
                    pnFooter.Visible = false;
                    break;
            }
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

    }
}
